2010년07월24일 19번
[과목 구분 없음] 데이터베이스 관리시스템(DBMS)에서 질의 처리를 빠르게 수행하기 위해 질의를 최적화한다. 질의 최적화 시에 사용하는 경험적 규칙으로서 알맞지 않은 것은?
- ① 추출(project) 연산은 일찍 수행한다.
- ② 조인(join) 연산은 가능한 한 일찍 수행한다.
- ③ 선택(select) 연산은 가능한 한 일찍 수행한다.
- ④ 중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있어야 한다.
(정답률: 44%)
문제 해설
선택 연산은 가능한 한 늦게 수행하는 것이 좋다. 이유는 선택 연산은 조인 연산보다 덜 복잡하고 빠르게 수행될 수 있기 때문이다. 따라서 선택 연산을 늦게 수행하면 불필요한 데이터를 많이 가져오게 되어 성능이 저하될 수 있다.
조인(join) 연산은 가능한 한 일찍 수행하는 것이 좋다. 이유는 조인 연산은 많은 데이터를 처리해야 하기 때문에 조인 연산을 늦게 수행하면 중간 결과가 많이 발생하게 되어 성능이 저하될 수 있기 때문이다. 따라서 조인 연산을 가능한 한 일찍 수행하여 중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있어야 한다.
추출(project) 연산은 일찍 수행한다. 이유는 추출 연산은 데이터의 양을 줄이는 연산이기 때문에 추출 연산을 일찍 수행하면 이후의 연산에서 처리해야 할 데이터 양을 줄일 수 있기 때문이다.
중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있어야 한다. 이유는 중간 결과가 많이 발생하면 디스크 I/O가 많이 발생하여 성능이 저하될 수 있기 때문이다. 따라서 중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있도록 최적화해야 한다.
조인(join) 연산은 가능한 한 일찍 수행하는 것이 좋다. 이유는 조인 연산은 많은 데이터를 처리해야 하기 때문에 조인 연산을 늦게 수행하면 중간 결과가 많이 발생하게 되어 성능이 저하될 수 있기 때문이다. 따라서 조인 연산을 가능한 한 일찍 수행하여 중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있어야 한다.
추출(project) 연산은 일찍 수행한다. 이유는 추출 연산은 데이터의 양을 줄이는 연산이기 때문에 추출 연산을 일찍 수행하면 이후의 연산에서 처리해야 할 데이터 양을 줄일 수 있기 때문이다.
중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있어야 한다. 이유는 중간 결과가 많이 발생하면 디스크 I/O가 많이 발생하여 성능이 저하될 수 있기 때문이다. 따라서 중간 결과를 적게 산출하면서 빠른 시간에 결과를 줄 수 있도록 최적화해야 한다.